< previous page page_485 next page >

Page 485
9f8044bafea36a1f728739c0bb58ef4c.gif
2. What is at least one benefit of having clearly defined roles for project team members?
9f8044bafea36a1f728739c0bb58ef4c.gif
Team members are able to focus on a smaller set of deliverables, thus optimizing their productivity.
9f8044bafea36a1f728739c0bb58ef4c.gif
3. What are some advantages and disadvantages of creating and viewing design artifacts?
9f8044bafea36a1f728739c0bb58ef4c.gif
Some advantages include the following: When you're finished with the last design iteration (there can be many iterations through the design phase, depending on the complexity of your proposed system), you will have enough of a detailed system specification to develop the system without having to make assumptions about the system architecture or user motivations. The problems discovered during the actual development phase should be minor and should require minor iterations through the design phase to update the corresponding models. At the same time, minor updates in design models should lead to very minor updates in the analysis modelssuch as changes in the name of a class or class member or the addition of an argument to a private method. Major changessuch as drastic changes in the way objects communicate, the addition of a new subsystem or package, and changes to the graphical user interface or interfaces between systemsshould not occur during the development phase. If such changes weren't addressed during design before development, this might suggest inadequate skill sets among domain experts, analysts, architects, or designers. In any event, such modifications should be deferred to a future release of the system, if possible. If it's not possible, the development phase must be postponed while the design flaws are revisited in the design phase.
9f8044bafea36a1f728739c0bb58ef4c.gif
Some disadvantages include the following: Maintaining design artifacts can be tedious, particularly when you're checking for traceability between user requirements and design classes.
9f8044bafea36a1f728739c0bb58ef4c.gif
4. Who are the Three Amigos? Briefly explain their respective methodologies.
9f8044bafea36a1f728739c0bb58ef4c.gif
Grady Booch, Ivar Jacobson, and Jim Rumbaugh. The Booch method poses questions for designers to use in the elaboration of class structures and relationships. The questions follow the following format: (a) Candidate Class A is a type of Class B; (b) Candidate Class A has a Class B type of object; and (c) Candidate Class A uses Class B.
9f8044bafea36a1f728739c0bb58ef4c.gif
Jacobson came up with the Objectory method, which is based on the object-oriented software engineering methodology he created. The OOSE design approach models the behavior of the system as documented by the use cases into logical parts, also known as classes. At the core of the design model in OOSE are three types of classes (whose instances are objects): entity, interface, and control.

 
< previous page page_485 next page >

If you like this book, buy it!